package cn.topevery.garden.entity.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import cn.afterturn.easypoi.excel.annotation.Excel;
import java.io.Serializable;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.math.BigDecimal;
import org.locationtech.jts.geom.Geometry;
import com.alibaba.fastjson.annotation.JSONField;
import cn.topevery.garden.entity.serializer.GeometrySerializer;
/**
 * 考勤记录 视图
 */
@Data
@ApiModel(value = "PersonAttendance 视图", description = "考勤记录 视图")
public class PersonAttendanceVO implements Serializable{
    /**
     * 自增id
     */
    private Integer id;

        /**
     * UUID
     */
    @ApiModelProperty(value = "UUID")
    @Excel(name = "UUID", orderNum = "0")
    private String entityId;

    /**
     * 日期 
     */
    @ApiModelProperty(value = "日期 ")
    @Excel(name = "日期 ", orderNum = "0")
    private LocalDate date;

    /**
     * 用户Id 
     */
    @ApiModelProperty(value = "用户Id ")
    @Excel(name = "用户Id ", orderNum = "0")
    private String userId;

    /**
     * 用户名 
     */
    @ApiModelProperty(value = "用户名 ")
    @Excel(name = "用户名 ", orderNum = "0")
    private String userName;

    /**
     * 签到
     */
    @ApiModelProperty(value = "签到")
    @Excel(name = "签到", orderNum = "0")
    @JSONField(format="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime signIn;

    /**
     * 签退 
     */
    @ApiModelProperty(value = "签退 ")
    @Excel(name = "签退 ", orderNum = "0")
    @JSONField(format="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime signOut;

    /**
     * 迟到 
     */
    @ApiModelProperty(value = "迟到 ")
    @Excel(name = "迟到 ", orderNum = "0")
    private Long signInOvertimes;

    /**
     * 早退 
     */
    @ApiModelProperty(value = "早退 ")
    @Excel(name = "早退 ", orderNum = "0")
    private Long signOutOvertimes;

    /**
     * 1 旷工 0 正常
     */
    @ApiModelProperty(value = "1 旷工 0 正常")
    @Excel(name = "1 旷工 0 正常", orderNum = "0")
    private Integer isEmpty;

    /**
     * 出范围时长 
     */
    @ApiModelProperty(value = "出范围时长 ")
    @Excel(name = "出范围时长 ", orderNum = "0")
    private Long outRange;

    /**
     * 滞留时长 
     */
    @ApiModelProperty(value = "滞留时长 ")
    @Excel(name = "滞留时长 ", orderNum = "0")
    private Long retentionOvertimes;

    /**
     * 1 正常 0 请假  
     */
    @ApiModelProperty(value = "1 正常 0 请假  ")
    @Excel(name = "1 正常 0 请假  ", orderNum = "0")
    private Integer isLeave;

    /**
     * 加班时长
     */
    @ApiModelProperty(value = "加班时长")
    @Excel(name = "加班时长", orderNum = "0")
    private Long isOvertimes;

    @ApiModelProperty(value = "状态")
    @Excel(name = "状态", orderNum = "0")
    private Integer state;
}
